/*
 * File:   CJugador.cpp
 * Author: jimena2
 *
 *
 *
 *lo ves jime????
 *
 *
 *
 * Created on 28 de mayo de 2011, 01:19 PM
 */


//probandooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo

#include "../controladores/CJugador.h"
#include "../headers/Jugador.h"//ldksldkmlsdkmfk






#include "../dataTypes/claveString.h"
#include "../interfacesCol/IIterator.h"
//cambio cualquier cosa
#include "../collections/Dictionary.h"
#include "../collections/Collection.h"
#include "../dataTypes/String.h"
#include "../dataTypes/dataJugador.h"
#include <string.h>


CJugador* CJugador::instancia= NULL;

CJugador::CJugador() {
    this->jugadores = new Dictionary();
    this->lMails    = new Collection();

}

CJugador::CJugador(const CJugador& orig) {
}


CJugador* CJugador::getInstancia(){
    if(instancia == NULL)
        instancia= new CJugador();
    return instancia;
}


void CJugador::registrarUsuario (char* nom,char* email ,Fecha fNac,char *nacionalidad,bool sexo){
    char* mail;
    int strSize = strlen(email);
    mail = strcpy(new char[strSize+1], email);

    char* nombre;
    strSize = strlen(nom);
    nombre = strcpy(new char[strSize+1], nom);

    char* nac;
    strSize = strlen(nacionalidad);
    nac = strcpy(new char[strSize+1], nacionalidad);


    claveString* k=new claveString(email);
    if (!jugadores->member(k)){
        Jugador *j;
        j = new Jugador(nombre,mail ,fNac,nac,sexo);
        this->jugadores->add(k,j);
        cout<<"dataJugador: \n";
        dataJugador* dj = j->getDataJugador();
        cout<<(*dj);
    }
}

ICollection* CJugador::listarMails (){
    IIterator *it = this->jugadores->getIterator();
    char* mail;
    int strSize;
    while (it->hasCurrent()){
        Jugador* j = dynamic_cast <Jugador*>(it->getCurrent());

        strSize = strlen(j->getMail());
        mail = strcpy(new char[strSize+1],j->getMail());
        this->lMails->add(new String(mail));
        it->next();
        
    }
    return this->lMails;
}

dataUsuario* CJugador::obtenerDatosUsuarios(){
    dataUsuario* du;
    return du;
}

CJugador::~CJugador() {
}

